package frc.circuitrunners.RobotSubsystems;

/**
 * @author CircuitRunners
 * This is the base architecture of all subsystems of the robot ala drive train, fetcher, etc.
 */
public abstract class RobotSubsystem {
    public boolean flag;
    
    /*In autonomous, this will run a certain stage in the process
     *@param stage the stage to run
     */
    public abstract void runAutonomous();
    /*
     * Initialize the states of each subsystem
     */
    public abstract void init();
    /*
     * What should be executed for a subsystem in Teleoperated period
     */
    public abstract void runTeleop();
    /**
     * What the subsystem will do when the robot is disabled
     */
    public abstract void disable();
    /**
     * What The robot subsysem is to do when auto aiming
     */
    public abstract void autoAim();
}
